自关联: 外键字段所关联的字段是自身表里的某个字段

在创建自关联的字段的时候,可以通过 self 代替自身的表的类名

class Comment(models.Model):
"""
    评论表
    """

    nid = models.AutoField(primary_key=True)
    article = models.ForeignKey(to='Article', to_field='nid', verbose_name='评论文章')
    user = models.ForeignKey(to='UserInfo', to_field='nid', verbose_name='评论者')
    content = models.CharField(max_length=255, verbose_name='评论内容')
    create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间')

    parent_comment = models.ForeignKey(to='self', null=True, verbose_name='自关联id', blank=True)

 # 等价于

 # parent_comment = models.ForeignKey(to='Comment', null=True, blank=True)


在使用自关联外键字段查询数据之前(即: 正向查询,反向查询),要注意该数据对象是"多"的一方,还是"一"的一方,在博客项目中文章详情评论功能中有提及到